#pragma once

class SubviewManager;
class View
{
public:
	virtual void Draw();
	virtual void AddSubView(View* view);
	virtual void RemoveSubView(View* view);
public:
	View();
	View(View&& other) noexcept;
	virtual ~View();
	View(const View& other) = delete;
	const View& operator=(const View& other) = delete;
private:
	SubviewManager* _subviewManager;
};